package org.dxy.api.dto.param;

import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Positive;
import jakarta.validation.constraints.Size;
import lombok.Data;
/**
 * @description: 创建工序参数配置请求DTO
 * @author: dxy
 * @createTime: 2025/1/21
 */
@Data
public class CreateProcessParamRequest {

    /**
     * 工序ID
     */
    @NotNull(message = "工序ID不能为空")
    @Positive(message = "工序ID必须为正整数")
    private Long processId;

    /**
     * 参数定义ID（引用全局参数）
     */
    @NotNull(message = "参数定义ID不能为空")
    @Positive(message = "参数定义ID必须为正整数")
    private Long paramDefinitionId;

    /**
     * 是否必填
     */
    @NotNull(message = "是否必填不能为空")
    private Boolean required;

    /**
     * 有效范围（工序专属约束，如：20-60）
     */
    @Size(max = 50, message = "有效范围长度不能超过50个字符")
    private String validRange;

    /**
     * 默认值（工序专属默认值）
     */
    @Size(max = 100, message = "默认值长度不能超过100个字符")
    private String defaultValue;

    /**
     * 公差（如：±0.1）
     */
    @Size(max = 20, message = "公差长度不能超过20个字符")
    private String tolerance;

    /**
     * 备注
     */
    @Size(max = 500, message = "备注长度不能超过500个字符")
    private String remark;
}